/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pl.elka.gis.main.helper;

import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import pl.elka.gis.main.node.Edge;
import pl.elka.gis.main.node.Node;

/**
 *
 * @author looser
 */
public class EdgesHelper {
    /**
     * zwraca wszystkie krawedzie. W zbiorze wynikowym nie ma powtarzajacych sie krawedzi, tzn jest istnieje w nim krawed A -> B, to nie ma B-> A
     * @param nodesMap
     * @return
     */
    public static Set<Edge> getAllEdges(Map<String, Set<String>> nodesMap){
        Set<Edge> retEdges = new HashSet<Edge>();
        for(Map.Entry<String,Set<String>> entry:nodesMap.entrySet()){
            String key = entry.getKey();
            for(String trg:entry.getValue()){
                Edge e1 = new Edge(new Node(key, 0, 0), new Node(trg, 0, 0));
                retEdges.add(e1);
            }
        }
        return retEdges;
    }
}
